package kycprovider

import (
	"context"

	kae_dto "code.bydev.io/cht/customer/kyc_admin_service/internal/pkg/kycadminevent/dto"
	"code.bydev.io/cht/customer/kyc_admin_service/internal/pkg/kycprovider/dto"
)

type KycProvider interface {
	GetToken(ctx context.Context, hashID string, TTL int, level dto.KYCLevel) (string, error)
	GetApplicant(ctx context.Context, applicantID string) (interface{}, error)
	GetKYCAdminDetail(ctx context.Context, idempotentID string, ntf *kae_dto.KYCEventNotify, firstPoi *dto.Identify) (*dto.KYCAdminDetail, []*dto.KYCActionImage, error)
	GetImageRaw(ctx context.Context, actionImg *dto.KYCActionImage) (*dto.Document, error)
	GetKYCOnboardingPOIActionImages(ctx context.Context, memberID int64, accountID, recordID, idempotentID string) ([]*dto.KYCActionImage, error)
}
